module.exports = {
  devServer: {
    // before(app) {
    //   app.get('/api/data', (req, res) => {
    //     res.send({ status: 0, message:  })
    //   })
    // }
    proxy: {
      '/api': {
        target: 'https://m.maizuo.com/', // 目标地址
        ws: true, /// / 是否启用websockets
        changeOrigin: true, // 开启代理：在本地会创建一个虚拟服务端，然后发送请求的数据，并同时接收请求的数据，这样服务端和服务端进行数据的交互就不会有跨域问题
        pathRewrite: { '^/api': '/' } // 这里重写路径
      }
    }
  },
  css: {
    loaderOptions: {
      css: {},
      postcss: {
        plugins: [
          require('postcss-px2rem')({
            remUnit: 37.5
          })
        ]
      }
    }
  },
  chainWebpack: config => {
    // 生产、发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      // 入口配置
      config
        .entry('app')
        .clear()
        .add('./src/main-prod.js')
      // CDN配置
      config
        .set('externals', {
          vue: 'Vue',
          'vue-router': 'VueRouter',
          vuex: 'Vuex',
          axios: 'axios',
          nprogress: 'NProgress',
          moment: 'moment'
        })
      // 配置首页定制
      config.plugin('html').tap(args => {
        args[0].isProd = true
        return args
      })
    })
    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-dev.js')
      // 配置首页定制
      config.plugin('html').tap(args => {
        args[0].isProd = false
        return args
      })
    })
  }
}